//
//  HLRefreshView.swift
//  HLwWeibo
//
//  Created by hqhxu on 16/3/5.
//  Copyright © 2016年 hqhxu. All rights reserved.
//

import UIKit

class HLRefreshView: UIView {
    
    /// 显示加载动画的view
    @IBOutlet weak var loadView: UIImageView!
    /// 显示箭头的view
    @IBOutlet weak var tipIcon: UIImageView!
    /// 显示提示信息 ： 箭头、文字 外面的大view
    @IBOutlet weak var tipView: UIView!
    
    /// 创建这个view的类方法
    class func refreshView() -> HLRefreshView{
        return NSBundle.mainBundle().loadNibNamed("HLRefreshView", owner: nil, options: nil).last as! HLRefreshView
    }

    /// 箭头的方向改变
    func tipIconAnimation(isUp:Bool) {
        UIView.animateWithDuration(0.25, animations: { () -> Void in
            
            self.tipIcon.transform = isUp ? CGAffineTransformMakeRotation(CGFloat(M_PI - 0.0001)) : CGAffineTransformIdentity
            })
    }
    
    /// 加载的时候动画
    func loadViewStartRotation() {
        // 判断动画是否已经存在 因为如果动画没有停止 那么再执行的话就会产生叠加效果
        if loadView.layer.animationForKey("startLoading") != nil {
            // 不要在叠加动画了 直接给return
            return
        }
        
        tipView.hidden = true
        
        let anim = CABasicAnimation(keyPath: "transform.rotation")
        anim.toValue = M_PI*2
        anim.duration = 0.25
        anim.repeatCount = MAXFLOAT
        anim.removedOnCompletion = false
        
        // 记得一定要加上去 给谁执行动画
        loadView.layer.addAnimation(anim, forKey: "startLoading")
    }
    
    /// 停止刷新
    func stopRotationLoad() {
        loadView.layer.removeAllAnimations()
        
        tipView.hidden = false
    }
    

}
